home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_procmail.idb / usr / freeware / catman / u_man / cat5 / procmailrc.Z / procmailrc
Encoding:
Text File  |  1998-10-28  |  45.6 KB  |  992 lines

  1. /xlv1/freeware/1998.Oct/procmail/3.11pre7/procmail-3.11pre7.diffbuild/new
  2.  
  3.  
  4.  
  5.      PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))       BBBBuuuuGGGGlllleeeessssssss ((((1111999999997777////00004444////11111111))))         PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))
  6.  
  7.  
  8.  
  9.      NNNNAAAAMMMMEEEE
  10.       procmailrc - procmail    rcfile
  11.  
  12.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.       $$$$HHHHOOOOMMMMEEEE////....pppprrrrooooccccmmmmaaaaiiiillllrrrrcccc
  14.  
  15.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  16.       For a    quick start, see NNNNOOOOTTTTEEEESSSS at the end of  the  pppprrrrooooccccmmmmaaaaiiiillll(1)
  17.       man page.
  18.  
  19.       The rcfile can contain a  mixture  of     environment  variable
  20.       assignments    (some    of  which  have     special  meanings  to
  21.       procmail), and recipes.  In their  most  simple  appearance,
  22.       the recipes are simply one line regular expressions that are
  23.       searched for in the header of    the arriving mail.  The     first
  24.       recipe  that matches is used to determine where the mail has
  25.       to go    (usually a file).  If processing falls off the end  of
  26.       the rcfile, procmail will deliver the    mail to    $$$$DDDDEEEEFFFFAAAAUUUULLLLTTTT.
  27.  
  28.       There     are  two  kinds  of  recipes:    delivering  and      non-
  29.       delivering  recipes.     If  a    _d_e_l_i_v_e_r_i_n_g  _r_e_c_i_p_e is found to
  30.       match,  procmail  considers  the  mail  (you     guessed   it)
  31.       delivered  and will _c_e_a_s_e _p_r_o_c_e_s_s_i_n_g the rcfile after    having
  32.       successfully executed    the action line    of the recipe.     If  a
  33.       _n_o_n-_d_e_l_i_v_e_r_i_n_g  _r_e_c_i_p_e  is found to match, processing    of the
  34.       rcfile will _c_o_n_t_i_n_u_e after the action    line  of  this    recipe
  35.       has been executed.
  36.  
  37.       Delivering recipes are those that cause header  and/or  body
  38.       of  the  mail     to  be:  written  into     a file, absorbed by a
  39.       program or forwarded to a mailaddress.
  40.  
  41.       Non-delivering recipes are: those that cause the output of a
  42.       program  or  filter to be captured back by procmail or those
  43.       that start a nesting block.
  44.  
  45.       You can tell procmail    to treat a _d_e_l_i_v_e_r_i_n_g _r_e_c_i_p_e as    if  it
  46.       were    a  non-delivering recipe by specifying the `c' flag on
  47.       such a recipe.  This will make procmail  generate  a    _c_a_r_b_o_n
  48.       _c_o_p_y    of  the     mail  by  delivering  it  to this recipe, yet
  49.       continue processing the rcfile.
  50.  
  51.       By using any number of recipes you  can  presort  your  mail
  52.       extremely straightforward into several mailfolders.  Bear in
  53.       mind though that the mail can    arrive concurrently  in     these
  54.       mailfolders  (if  several procmail programs happen to    run at
  55.       the same time, not unlikely if a lot of mail    arrives).   To
  56.       make    sure  this  does  not  result in a mess, proper    use of
  57.       lockfiles is highly recommended.
  58.  
  59.       The environment variable  aaaassssssssiiiiggggnnnnmmmmeeeennnnttttssss     and  rrrreeeecccciiiippppeeeessss  can  be
  60.       freely intermixed in the rcfile. If any environment variable
  61.  
  62.  
  63.  
  64.      Page 1                         (printed 8/25/98)
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.      PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))       BBBBuuuuGGGGlllleeeessssssss ((((1111999999997777////00004444////11111111))))         PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))
  72.  
  73.  
  74.  
  75.       has  a  special  meaning  to    procmail,  it  will  be      used
  76.       appropriately     the  moment it    is parsed (i.e.    you can    change
  77.       the current directory    whenever you want by specifying    a  new
  78.       MMMMAAAAIIIILLLLDDDDIIIIRRRR,  switch  lockfiles  by  specifying  a new LLLLOOOOCCCCKKKKFFFFIIIILLLLEEEE,
  79.       change the umask at any time,    etc.,  the  possibilities  are
  80.       endless :-).
  81.  
  82.       The  assignments  and     substitutions    of  these  environment
  83.       variables  are  handled exactly like in sssshhhh(1)    (that includes
  84.       all possible quotes and escapes), with the added bonus  that
  85.       blanks  around  the  '='  sign  are  ignored and that, if an
  86.       environment variable appears without a trailing '=', it will
  87.       be  removed from the environment.  Any program in backquotes
  88.       started by procmail will have    the entire mail    at its stdin.
  89.  
  90.     CCCCoooommmmmmmmeeeennnnttttssss
  91.       A word beginning with    # and all the following    characters  up
  92.       to  a    NEWLINE    are ignored.  This does    not apply to condition
  93.       lines, which cannot be commented.
  94.  
  95.     RRRReeeecccciiiippppeeeessss
  96.       A line starting with ':' marks the beginning    of  a  recipe.
  97.       It has the following format:
  98.  
  99.            :0 [_f_l_a_g_s] [ : [_l_o_c_a_l_l_o_c_k_f_i_l_e] ]
  100.            <zero or    more conditions    (one per line)>
  101.            <exactly    one action line>
  102.  
  103.       Conditions start with    a leading `*', everything  after  that
  104.       character  is     passed     on  to     the internal egrep lllliiiitttteeeerrrraaaallllllllyyyy,
  105.       except for leading and trailing whitespace.    These  regular
  106.       expressions are ccccoooommmmpppplllleeeetttteeeellllyyyy compatible    to the normal eeeeggggrrrreeeepppp(1)
  107.       extended regular expressions.      See  also  EEEExxxxtttteeeennnnddddeeeedddd  rrrreeeegggguuuullllaaaarrrr
  108.       eeeexxxxpppprrrreeeessssssssiiiioooonnnnssss.
  109.  
  110.       Conditions are anded;    if there are no    conditions the    result
  111.       will be true by default.
  112.  
  113.       _F_l_a_g_s    can be any of the following:
  114.  
  115.       HHHH    Egrep the header    (default).
  116.  
  117.       BBBB    Egrep the body.
  118.  
  119.       DDDD    Tell the    internal egrep to  distinguish    between     upper
  120.            and  lower  case     (contrary  to the default which is to
  121.            ignore case).
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.      Page 2                         (printed 8/25/98)
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.      PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))       BBBBuuuuGGGGlllleeeessssssss ((((1111999999997777////00004444////11111111))))         PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))
  138.  
  139.  
  140.  
  141.       AAAA    This recipe will    not be executed    unless the  conditions
  142.            on  the    last  preceding     recipe    (on the    current    block-
  143.            nesting level) without the `A' or `a' flag  matched  as
  144.            well.   This allows you to chain    actions    that depend on
  145.            a common    condition.
  146.  
  147.       aaaa    Has  the     same  meaning    as  the     `A'  flag,  with  the
  148.            additional  condition  that  the     immediately preceding
  149.            recipe must have     been  _s_u_c_c_e_s_s_f_u_l_l_y  completed    before
  150.            this recipe is executed.
  151.  
  152.       EEEE    This recipe only    executes if the    immediately  preceding
  153.            recipe was not executed.     Execution of this recipe also
  154.            disables    any immediately    following recipes with the 'E'
  155.            flag.  This allows you to specify `else if' actions.
  156.  
  157.       eeee    This recipe only    executes if the    immediately  preceding
  158.            recipe  _f_a_i_l_e_d (i.e. the    action line was    attempted, but
  159.            resulted    in an error).
  160.  
  161.       hhhh    Feed the    header to the pipe, file or  mail  destination
  162.            (default).
  163.  
  164.       bbbb    Feed the    body to    the pipe,  file     or  mail  destination
  165.            (default).
  166.  
  167.       ffff    Consider    the pipe as a filter.
  168.  
  169.       cccc    Generate    a ccccaaaarrrrbbbboooonnnn ccccooooppppyyyy of this mail.  This  only     makes
  170.            sense  on  _d_e_l_i_v_e_r_i_n_g recipes.  The only    non-delivering
  171.            recipe this flag    has an    effect    on  is    on  a  nesting
  172.            block,  in  order  to  generate a carbon    copy this will
  173.            cccclllloooonnnneeee the running procmail process (lockfiles will  not
  174.            be  inherited), whereby the clone will proceed as usual
  175.            and the parent will jump    across the block.
  176.  
  177.       wwww    Wait for    the filter or program to finish    and check  its
  178.            exitcode      (normally   ignored);      if   the  filter  is
  179.            unsuccessful,  then  the     text  will  not   have      been
  180.            filtered.
  181.  
  182.       WWWW    Has the same meaning as the `w' flag, but will suppress
  183.            any `Program failure' message.
  184.  
  185.       iiii    Ignore any write    errors on this    recipe    (i.e.  usually
  186.            due to an early closed pipe).
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.      Page 3                         (printed 8/25/98)
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.      PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))       BBBBuuuuGGGGlllleeeessssssss ((((1111999999997777////00004444////11111111))))         PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))
  204.  
  205.  
  206.  
  207.       rrrr    Raw mode, do not    try to ensure the mail    ends  with  an
  208.            empty line, write it out    as is.
  209.  
  210.       There    are some special conditions you    can use    that  are  not
  211.       straight regular expressions.     To select them, the condition
  212.       must start with:
  213.  
  214.       !!!!    Invert the condition.
  215.  
  216.       $$$$    Evaluate    the remainder of this condition     according  to
  217.            sssshhhh(1)  substitution  rules  inside  double quotes, skip
  218.            leading whitespace, then    reparse    it.
  219.  
  220.       ????    Use the exitcode    of the specified program.
  221.  
  222.       <<<<    Check if    the total length of the    mail is     shorter  than
  223.            the specified (in decimal) number of bytes.
  224.  
  225.       >>>>    Analogous to '<'.
  226.  
  227.       vvvvaaaarrrriiiiaaaabbbblllleeeennnnaaaammmmeeee ??
  228.            Match the remainder of this condition against the value
  229.            of  this    environment variable (which cannot be a    pseudo
  230.            variable).  A special case is if    variablename is     equal
  231.            to  `B',     `H',  `HB' or `BH'; this merely overrides the
  232.            default header/body search area defined by the  initial
  233.            flags on    this recipe.
  234.  
  235.       \\\\    To quote    any of the above at the    start of the line.
  236.  
  237.     LLLLooooccccaaaallll lllloooocccckkkkffffiiiilllleeee
  238.       If you put a second (trailing) ':' on    the first recipe line,
  239.       then    procmail  will    use  a    _l_o_c_a_l_l_o_c_k_f_i_l_e (for this    recipe
  240.       only).  You can optionally specify the locallockfile to use;
  241.       if  you  don't  however,  procmail  will use the destination
  242.       filename (or the filename following the first    '>>') and will
  243.       append $LOCKEXT to it.
  244.  
  245.     RRRReeeecccciiiippppeeee aaaaccccttttiiiioooonnnn lllliiiinnnneeee
  246.       The action line can start with the following characters:
  247.  
  248.       !!!!    Forwards    to all the specified mail addresses.
  249.  
  250.       ||||    Starts the specified program, possibly in $SHELL    if any
  251.            of  the    characters  $SHELLMETAS     are spotted.  You can
  252.            optionally prepend this    pipe  symbol  with  _v_a_r_i_a_b_l_e=,
  253.            which  will  cause stdout of the    program    to be captured
  254.            in  the    environment  _v_a_r_i_a_b_l_e    (procmail   will   nnnnooootttt
  255.            terminate processing the    rcfile at this point).    If you
  256.            specify just this pipe  symbol,    without     any  program,
  257.            then procmail will pipe the mail    to stdout.
  258.  
  259.  
  260.  
  261.  
  262.      Page 4                         (printed 8/25/98)
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.      PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))       BBBBuuuuGGGGlllleeeessssssss ((((1111999999997777////00004444////11111111))))         PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))
  270.  
  271.  
  272.  
  273.       {{{{    Followed    by at least one    space,    tab  or     newline  will
  274.            mark  the start of a nesting block.  Everything up till
  275.            the next    closing    brace will depend  on  the  conditions
  276.            specified   for    this  recipe.    Unlimited  nesting  is
  277.            permitted.  The closing brace exists merely to  delimit
  278.            the  block,  it will _n_o_t    cause procmail to terminate in
  279.            any way.     If the    end of a block is  reached  processing
  280.            will  continue  as usual    after the block.  On a nesting
  281.            block, the flags    `H' and    `B' only affect    the conditions
  282.            leading    up to the block, the flags `h' and `b' have no
  283.            effect whatsoever.
  284.  
  285.       Anything else    will be    taken as  a  mailbox  name  (either  a
  286.       filename or a    directory, absolute or relative    to the current
  287.       directory  (see  MAILDIR)).    If  it    is  a  (possibly   yet
  288.       nonexistent) filename, the mail will be appended to it.
  289.  
  290.       If it    is a directory,    the mail will be delivered to a     newly
  291.       created,  guaranteed    to be unique file named    $MSGPREFIX* in
  292.       the specified    directory.  If    the  directory    name  ends  in
  293.       "/.",     then  this  directory is presumed to be an MH folder;
  294.       i.e. procmail    will use the next number it  finds  available.
  295.       When    procmail is delivering to directories, you can specify
  296.       multiple directories to deliver  to  (procmail  will    do  so
  297.       utilising hardlinks).
  298.  
  299.     EEEEnnnnvvvviiiirrrroooonnnnmmmmeeeennnntttt vvvvaaaarrrriiiiaaaabbbblllleeee ddddeeeeffffaaaauuuullllttttssss
  300.       LLLLOOOOGGGGNNNNAAAAMMMMEEEE,,,, HHHHOOOOMMMMEEEE    aaaannnndddd SSSSHHHHEEEELLLLLLLL
  301.                 Your (the recipient's) defaults
  302.  
  303.       SSSSHHHHEEEELLLLLLLLMMMMEEEETTTTAAAASSSS        &|<>~;?*[
  304.  
  305.       SSSSHHHHEEEELLLLLLLLFFFFLLLLAAAAGGGGSSSS        -c
  306.  
  307.       OOOORRRRGGGGMMMMAAAAIIIILLLL        /var/mail/$LOGNAME
  308.                 (Unless     ----mmmm  has  been    specified,  in
  309.                 which case it is unset)
  310.  
  311.       MMMMAAAAIIIILLLLDDDDIIIIRRRR        $HOME/
  312.                 (Unless     the   name   of   the     first
  313.                 successfully opened rcfile starts with
  314.                 `./' or    if ----mmmm has been    specified,  in
  315.                 which case it defaults to `.')
  316.  
  317.       DDDDEEEEFFFFAAAAUUUULLLLTTTT        $ORGMAIL
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.      Page 5                         (printed 8/25/98)
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.      PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))       BBBBuuuuGGGGlllleeeessssssss ((((1111999999997777////00004444////11111111))))         PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))
  336.  
  337.  
  338.  
  339.       MMMMSSSSGGGGPPPPRRRREEEEFFFFIIIIXXXX        msg.
  340.  
  341.       SSSSEEEENNNNDDDDMMMMAAAAIIIILLLL        /usr/lib/sendmail
  342.  
  343.       SSSSEEEENNNNDDDDMMMMAAAAIIIILLLLFFFFLLLLAAAAGGGGSSSS        -oi
  344.  
  345.       HHHHOOOOSSSSTTTT            The current hostname
  346.  
  347.       CCCCOOOOMMMMSSSSAAAATTTT        no
  348.                 (If an    rcfile    is  specified  on  the
  349.                 command    line)
  350.  
  351.       LLLLOOOOCCCCKKKKEEEEXXXXTTTT        .lock
  352.  
  353.       Other    cleared    or preset environment variables    are IFS, ENV,
  354.       PWD and PATH=/usr/freeware/bin:/usr/sbin:/usr/bsd:/sbin
  355.       :/usr/bin:/usr/bin/X11:.
  356.  
  357.       For security reasons,    procmail will wipe out all environment
  358.       variables starting with LD_ upon startup.
  359.  
  360.     EEEEnnnnvvvviiiirrrroooonnnnmmmmeeeennnntttt
  361.       Before  you  get  lost  in  the  multitude  of   environment
  362.       variables,  keep  in    mind  that all of them have reasonable
  363.       defaults.
  364.  
  365.       MMMMAAAAIIIILLLLDDDDIIIIRRRR     Current directory    while  procmail     is  executing
  366.               (that  means  that  all  paths  are  relative to
  367.               $MAILDIR).
  368.  
  369.       DDDDEEEEFFFFAAAAUUUULLLLTTTT     Default mmmmaaaaiiiillllbbbbooooxxxx file  (if     not  told  otherwise,
  370.               procmail     will  dump  mail  in  this  mailbox).
  371.               Procmail will automatically use $DEFAULT$LOCKEXT
  372.               as  lockfile  prior  to writing to this mailbox.
  373.               You do not need to set this variable,  since  it
  374.               already points to    the standard system mailbox.
  375.  
  376.       LLLLOOOOGGGGFFFFIIIILLLLEEEE     This  file  will    also  contain  any  error   or
  377.               diagnostic messages from procmail    (normally none
  378.               :-) or any other programs    started     by  procmail.
  379.               If  this    file is    not specified, any diagnostics
  380.               or error messages    will be     mailed     back  to  the
  381.               sender.  See also    LLLLOOOOGGGGAAAABBBBSSSSTTTTRRRRAAAACCCCTTTT.
  382.  
  383.       VVVVEEEERRRRBBBBOOOOSSSSEEEE     You can turn on _e_x_t_e_n_d_e_d _d_i_a_g_n_o_s_t_i_c_s by  setting
  384.               this  variable  to `yes' or `on',    to turn    it off
  385.               again set    it to `no' or `off'.
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.      Page 6                         (printed 8/25/98)
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.      PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))       BBBBuuuuGGGGlllleeeessssssss ((((1111999999997777////00004444////11111111))))         PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))
  402.  
  403.  
  404.  
  405.       LLLLOOOOGGGGAAAABBBBSSSSTTTTRRRRAAAACCCCTTTT Just before procmail exits it logs  an  abstract
  406.               of the delivered message in $LOGFILE showing the
  407.               `From ' and `Subject:'  fields  of  the  header,
  408.               what  folder it finally went to and how long (in
  409.               bytes)  the  message  was.   By    setting      this
  410.               variable to `no',    generation of this abstract is
  411.               suppressed.  If you set it  to  `all',  procmail
  412.               will   log  an  abstract    for  every  successful
  413.               _d_e_l_i_v_e_r_i_n_g _r_e_c_i_p_e    it processes.
  414.  
  415.       LLLLOOOOGGGG          Anything    assigned  to  this  variable  will  be
  416.               appended to $LOGFILE.
  417.  
  418.       OOOORRRRGGGGMMMMAAAAIIIILLLL     Usually the system mailbox  (OOOORRRRiGGGGinal  MMMMAAAAIIIILLLLbox).
  419.               If,  for    some  obscure reason (like `ffffiiiilllleeeessssyyyysssstttteeeemmmm
  420.               ffffuuuullllllll') the mail could  not  be  delivered,  then
  421.               this  mailbox  will  be  the  last  resort.   If
  422.               procmail fails to    save the mail in  here    (deep,
  423.               deep trouble :-),    then the mail will bounce back
  424.               to the sender.
  425.  
  426.       LLLLOOOOCCCCKKKKFFFFIIIILLLLEEEE    Global semaphore file.   If  this     file  already
  427.               exists,  procmail     will  wait  until it has gone
  428.               before proceeding, and  will  create  it    itself
  429.               (cleaning    it up when ready, of course).  If more
  430.               than  one     _l_o_c_k_f_i_l_e  are    specified,  then   the
  431.               previous    one  will  be removed before trying to
  432.               create  the  new    one.   The  use     of  a    global
  433.               lockfile    is  discouraged, whenever possible use
  434.               locallockfiles (on a per recipe basis) instead.
  435.  
  436.       LLLLOOOOCCCCKKKKEEEEXXXXTTTT     Default  extension  that    is   appended    to   a
  437.               destination   file   to    determine  what     local
  438.               _l_o_c_k_f_i_l_e to use (only if turned on,  on  a  per-
  439.               recipe basis).
  440.  
  441.       LLLLOOOOCCCCKKKKSSSSLLLLEEEEEEEEPPPP   Number of    seconds     procmail  will     sleep    before
  442.               retrying    on a _l_o_c_k_f_i_l_e (if it already existed);
  443.               if not specified,    it defaults to 8 seconds.
  444.  
  445.       LLLLOOOOCCCCKKKKTTTTIIIIMMMMEEEEOOOOUUUUTTTT Number of    seconds    that have to have passed since
  446.               a     _l_o_c_k_f_i_l_e  was    last  modified/created    before
  447.               procmail    decides      that     this    must   be   an
  448.               erroneously   leftover   lockfile     that  can  be
  449.               removed by force now.  If    zero, then no  timeout
  450.               will  be    used  and  procmail  will wait forever
  451.               until the    lockfile is removed; if    not specified,
  452.               it  defaults  to 1024 seconds.  This variable is
  453.               useful  to   prevent   indefinite      hangups   of
  454.               sssseeeennnnddddmmmmaaaaiiiillll/procmail.   Procmail is immune to clock
  455.               skew across machines.
  456.  
  457.  
  458.  
  459.  
  460.      Page 7                         (printed 8/25/98)
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.      PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))       BBBBuuuuGGGGlllleeeessssssss ((((1111999999997777////00004444////11111111))))         PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))
  468.  
  469.  
  470.  
  471.       TTTTIIIIMMMMEEEEOOOOUUUUTTTT     Number of     seconds  that    have  to  have    passed
  472.               before  procmail    decides     that  some  child  it
  473.               started must be hanging.    The offending  program
  474.               will  receive  a TERMINATE signal    from procmail,
  475.               and processing of    the rcfile will    continue.   If
  476.               zero,  then no timeout will be used and procmail
  477.               will  wait   forever   until   the   child   has
  478.               terminated; if not specified, it defaults    to 960
  479.               seconds.
  480.  
  481.       MMMMSSSSGGGGPPPPRRRREEEEFFFFIIIIXXXX   Filename prefix that is used when    delivering  to
  482.               a     directory  (not used when delivering to an MH
  483.               directory).
  484.  
  485.       HHHHOOOOSSSSTTTT          If this is not  the  _h_o_s_t_n_a_m_e  of     the  machine,
  486.               processing    of     the   current     _r_c_f_i_l_e      will
  487.               immediately  cease.  If    other    rcfiles      were
  488.               specified     on  the command line, processing will
  489.               continue with the    next one.  If all rcfiles  are
  490.               exhausted,  the program will terminate, but will
  491.               not generate an error (i.e.  to  the  mailer  it
  492.               will seem    that the mail has been delivered).
  493.  
  494.       UUUUMMMMAAAASSSSKKKK          The name says it all (if it doesn't, then    forget
  495.               about  this one :-).  Anything assigned to UMASK
  496.               is taken as an ooooccccttttaaaallll number.  If not  specified,
  497.               the umask    defaults to 077.  If the umask permits
  498.               o+x, all    the  mailboxes    procmail  delivers  to
  499.               directly    will receive an    o+x mode change.  This
  500.               can be used to check if new mail arrived.
  501.  
  502.       SSSSHHHHEEEELLLLLLLLMMMMEEEETTTTAAAASSSS  If any of    the characters in  SHELLMETAS  appears
  503.               in  the line specifying a    filter or program, the
  504.               line will    be fed    to  $SHELL  instead  of     being
  505.               executed directly.
  506.  
  507.       SSSSHHHHEEEELLLLLLLLFFFFLLLLAAAAGGGGSSSS  Any invocation of    $SHELL will be like:
  508.               "$SHELL" "$SHELLFLAGS" "$*";
  509.  
  510.       SSSSEEEENNNNDDDDMMMMAAAAIIIILLLL    If you're     not  using  the  _f_o_r_w_a_r_d_i_n_g  facility
  511.               don't  worry  about  this    one.  It specifies the
  512.               program being called to forward any mail.
  513.               It gets invoked as: "$SENDMAIL" "$SENDMAILFLAGS"
  514.               "$@";
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.      Page 8                         (printed 8/25/98)
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.      PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))       BBBBuuuuGGGGlllleeeessssssss ((((1111999999997777////00004444////11111111))))         PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))
  534.  
  535.  
  536.  
  537.       NNNNOOOORRRREEEESSSSRRRREEEETTTTRRRRYYYY  Number of    retries    that are to  be     made  if  any
  538.               `pppprrrroooocccceeeessssssss ttttaaaabbbblllleeee ffffuuuullllllll', `ffffiiiilllleeee ttttaaaabbbblllleeee    ffffuuuullllllll', `oooouuuutttt ooooffff
  539.               mmmmeeeemmmmoooorrrryyyy' or `oooouuuutttt  ooooffff  sssswwwwaaaapppp     ssssppppaaaacccceeee'     error    should
  540.               occur.    If   this  number  is  negative,  then
  541.               procmail    will  retry   indefinitely;   if   not
  542.               specified,  it defaults to 4 times.  The retries
  543.               occur with a $SUSPEND second interval.  The idea
  544.               behind  this is, that if e.g. the    _s_w_a_p _s_p_a_c_e has
  545.               been exhausted or    the  _p_r_o_c_e_s_s  _t_a_b_l_e  is     full,
  546.               usually    several     other    programs  will    either
  547.               detect this as well  and    abort  or  crash  8-),
  548.               thereby freeing valuable _r_e_s_o_u_r_c_e_s for procmail.
  549.  
  550.       SSSSUUUUSSSSPPPPEEEENNNNDDDD     Number of    seconds    that procmail will pause if it
  551.               has  to  wait  for  something  that is currently
  552.               unavailable  (memory,  fork,   etc.);   if   not
  553.               specified,  it  will default to 16 seconds.  See
  554.               also:  LLLLOOOOCCCCKKKKSSSSLLLLEEEEEEEEPPPP.
  555.  
  556.       LLLLIIIINNNNEEEEBBBBUUUUFFFF     Length of    the internal line buffers,  cannot  be
  557.               set  smaller  than 128.  All lines read from the
  558.               _r_c_f_i_l_e should  not  exceed  $LINEBUF  characters
  559.               before  and  after expansion.  If    not specified,
  560.               it defaults to 2048.   This  limit,  of  course,
  561.               does  _n_o_t     apply    to  the    mail itself, which can
  562.               have arbitrary  line  lengths,  or  could     be  a
  563.               binary file for that matter.
  564.  
  565.       DDDDEEEELLLLIIIIVVVVEEEERRRREEEEDDDD   If set to    `yes' procmail will  pretend  (to  the
  566.               mail  agent)  the     mail  has been    delivered.  If
  567.               mail cannot be delivered after having  met  this
  568.               assignment (set to `yes'), the mail will be lost
  569.               (i.e. it will not    bounce).
  570.  
  571.       TTTTRRRRAAAAPPPP          When procmail terminates    it  will  execute  the
  572.               contents    of  this variable.  A copy of the mail
  573.               can be read from stdin.  Any output produced  by
  574.               this  command  will  be  appended     to  $LOGFILE.
  575.               Possible uses for    TRAP are: removal of temporary
  576.               files,  logging  customised abstracts, etc.  See
  577.               also EEEEXXXXIIIITTTTCCCCOOOODDDDEEEE and    LLLLOOOOGGGGAAAABBBBSSSSTTTTRRRRAAAACCCCTTTT.
  578.  
  579.       EEEEXXXXIIIITTTTCCCCOOOODDDDEEEE    When procmail terminates and this     variable  has
  580.               been  set     to a positive numeric value, procmail
  581.               will use this as the exitcode.  If this variable
  582.               is set but empty,    procmail will set the exitcode
  583.               to whatever the TTTTRRRRAAAAPPPP program returns.   If  this
  584.               variable    has not    been set, procmail will    set it
  585.               shortly before calling up    the TTTTRRRRAAAAPPPP program.
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.      Page 9                         (printed 8/25/98)
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.      PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))       BBBBuuuuGGGGlllleeeessssssss ((((1111999999997777////00004444////11111111))))         PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))
  600.  
  601.  
  602.  
  603.       LLLLAAAASSSSTTTTFFFFOOOOLLLLDDDDEEEERRRR  This  variable  is  assigned  to     by   procmail
  604.               whenever     it  is     delivering  to     a  folder  or
  605.               program.    It always contains  the     name  of  the
  606.               last folder (or program) procmail    delivered to.
  607.  
  608.       MMMMAAAATTTTCCCCHHHH          This  variable  is  assigned  to     by   procmail
  609.               whenever    it  is    told  to  extract  text    from a
  610.               matching regular expression.   It     will  contain
  611.               all  text     matching  the regular expression past
  612.               the `\\\\////' token.
  613.  
  614.       SSSSHHHHIIIIFFFFTTTT          Assigning    a positive value to this variable  has
  615.               the same effect as the `shift' command in    sssshhhh(1).
  616.               This command is most  useful  to    extract     extra
  617.               arguments     passed     to  procmail when acting as a
  618.               generic mailfilter.
  619.  
  620.       IIIINNNNCCCCLLLLUUUUDDDDEEEERRRRCCCC   Names  an     rcfile     (relative  to     the   current
  621.               directory)  which    will be    included here as if it
  622.               were part     of  the  current  rcfile.   Unlimited
  623.               nesting is permitted.
  624.  
  625.       CCCCOOOOMMMMSSSSAAAATTTT      CCCCoooommmmssssaaaatttt(8)/bbbbiiiiffffffff(1)    notification is    on by default,
  626.               it can be    turned off by setting this variable to
  627.               `no'.  Alternatively  the     biff-service  can  be
  628.               customised  by  setting it to either `service@',
  629.               `@hostname', or  `service@hostname'.   When  not
  630.               specified    it defaults to biff@localhost.
  631.  
  632.       DDDDRRRROOOOPPPPPPPPRRRRIIIIVVVVSSSS   If  set  to  `yes'  procmail   will   drop   all
  633.               privileges  it  might  have  had (suid or    sgid).
  634.               This is only useful if  you  want     to  guarantee
  635.               that    the    bottom       half        of       the
  636.               /usr/freeware/lib/procmail/procmailrc  file   is
  637.               executed on behalf of the    recipient.
  638.  
  639.     EEEExxxxtttteeeennnnddddeeeedddd rrrreeeegggguuuullllaaaarrrr eeeexxxxpppprrrreeeessssssssiiiioooonnnnssss
  640.       The following    tokens are known to both the procmail internal
  641.       egrep     and  the  standard  eeeeggggrrrreeeepppp(1)  (beware that some egrep
  642.       implementations include other    non-standard extensions):
  643.  
  644.       ^^^^        Start of a line.
  645.  
  646.       $$$$        End    of a line.
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.      Page 10                         (printed 8/25/98)
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.      PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))       BBBBuuuuGGGGlllleeeessssssss ((((1111999999997777////00004444////11111111))))         PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))
  666.  
  667.  
  668.  
  669.       ....        Any    character except a newline.
  670.  
  671.       aaaa****        Any    sequence of zero or more a's.
  672.  
  673.       aaaa++++        Any    sequence of one    or more    a's.
  674.  
  675.       aaaa????        Either zero    or one a.
  676.  
  677.       [[[[^^^^----aaaa----dddd]]]]   Any    character which    is nnnnooootttt either a    dash, a, b, c,
  678.             d or newline.
  679.  
  680.       ddddeeee||||aaaabbbbcccc    Either the sequence    `de' or    `abc'.
  681.  
  682.       ((((aaaabbbbcccc))))****    Zero or more times the sequence `abc'.
  683.  
  684.       \\\\....        Matches a single dot; use \    to quote  any  of  the
  685.             magic  characters  to  get    rid  of     their special
  686.             meaning.  See also $\ variable substitution.
  687.  
  688.       These     were  only  samples,  of  course,  any     more  complex
  689.       combination is valid as well.
  690.  
  691.       The  following   token   meanings   are   special   procmail
  692.       extensions:
  693.  
  694.       ^^^^ or $$$$    Match a newline (for multiline matches).
  695.  
  696.       ^^^^^^^^        Anchor the expression at the  very    start  of  the
  697.             search  area,  or if encountered at    the end    of the
  698.             expression,    anchor it  at  the  very  end  of  the
  699.             search area.
  700.  
  701.       \\\\<<<< or    \\\\>>>>  Match the character    before or after    a word.      They
  702.             are     merely     a  shorthand for `[^a-zA-Z0-9_]', but
  703.             can    also match newlines.  Since they match    actual
  704.             characters,     they  are  only  suitable  to delimit
  705.             words, not to delimit inter-word space.
  706.  
  707.       \\\\////        Splits the expression in  two  parts.   Everything
  708.             matching  the  right  part will be assigned    to the
  709.             MATCH environment variable.
  710.  
  711.      EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS
  712.       Look in the pppprrrrooooccccmmmmaaaaiiiilllleeeexxxx(5) man    page.
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.      Page 11                         (printed 8/25/98)
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.      PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))       BBBBuuuuGGGGlllleeeessssssss ((((1111999999997777////00004444////11111111))))         PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))
  732.  
  733.  
  734.  
  735.      CCCCAAAAVVVVEEEEAAAATTTTSSSS
  736.       Continued lines in an    action line that specifies  a  program
  737.       always  have    to  end    in a backslash,    even if    the underlying
  738.       shell    would not need    or  want  the  backslash  to  indicate
  739.       continuation.      This    is due to the two pass parsing process
  740.       needed (first    procmail, then the shell (or not, depending on
  741.       SSSSHHHHEEEELLLLLLLLMMMMEEEETTTTAAAASSSS)).
  742.  
  743.       Don't    put comments on    the regular expression condition lines
  744.       in  a     recipe,  these     lines    are  fed to the    internal egrep
  745.       _l_i_t_e_r_a_l_l_y (except for    continuation backslashes at the    end of
  746.       a line).
  747.  
  748.       Leading whitespace on    continued regular expression condition
  749.       lines    is usually ignored (so that they can be    indented), but
  750.       nnnnooootttt  on  continued  condition     lines    that   are   evaluated
  751.       according  to     the  sssshhhh(1)  substitution  rules inside    double
  752.       quotes.
  753.  
  754.       Watch    out for    deadlocks when    doing  unhealthy  things  like
  755.       forwarding  mail  to    your  own  account.   Deadlocks    can be
  756.       broken by proper use of LLLLOOOOCCCCKKKKTTTTIIIIMMMMEEEEOOOOUUUUTTTT.
  757.  
  758.       Any default values that procmail has    for  some  environment
  759.       variables  will  aaaallllwwwwaaaayyyyssss  override the    ones that were already
  760.       defined.  If you really want to override the    defaults,  you
  761.       either have to put them in the rrrrccccffffiiiilllleeee    or on the command line
  762.       as arguments.
  763.  
  764.       Environment variables    set iiiinnnnssssiiiiddddeeee  the     shell-interpreted-`|'
  765.       action  part    of  a recipe will nnnnooootttt retain their value after
  766.       the recipe has finished since    they are set in    a subshell  of
  767.       procmail.  To    make sure the value of an environment variable
  768.       is retained you have to put the assignment to     the  variable
  769.       before  the  leading `|' of a    recipe,    so that    it can capture
  770.       stdout of the    program.
  771.  
  772.       If you specify only a    `h' or a  `b'  flag  on     a  delivering
  773.       recipe, and the recipe matches, then,    unless the `c' flag is
  774.       present as well, the body respectively  the  header  of  the
  775.       mail will be silently    lost.
  776.  
  777.      SSSSEEEEEEEE AAAALLLLSSSSOOOO
  778.       pppprrrrooooccccmmmmaaaaiiiillll(1), pppprrrrooooccccmmmmaaaaiiiillllsssscccc(5), pppprrrrooooccccmmmmaaaaiiiilllleeeexxxx(5), sssshhhh(1), ccccsssshhhh(1),
  779.       mmmmaaaaiiiillll(1), mmmmaaaaiiiillllxxxx(1), bbbbiiiinnnnmmmmaaaaiiiillll(1), uuuuuuuuccccpppp(1), aaaalllliiiiaaaasssseeeessss(5),
  780.       sssseeeennnnddddmmmmaaaaiiiillll(8), eeeeggggrrrreeeepppp(1), rrrreeeeggggeeeexxxxpppp(5), ggggrrrreeeepppp(1), bbbbiiiiffffffff(1),
  781.       ccccoooommmmssssaaaatttt(8), lllloooocccckkkkffffiiiilllleeee(1), ffffoooorrrrmmmmaaaaiiiillll(1)
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.      Page 12                         (printed 8/25/98)
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.      PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))       BBBBuuuuGGGGlllleeeessssssss ((((1111999999997777////00004444////11111111))))         PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))
  798.  
  799.  
  800.  
  801.      BBBBUUUUGGGGSSSS
  802.       The only substitutions of environment    variables that can  be
  803.       handled  by  procmail    itself are of the type $name, ${name},
  804.       ${name:-text},  ${name:+text},  ${name-text},     ${name+text},
  805.       $\name,  $#,    $n, $$,    $?, $_,    $- and $=; whereby $\name will
  806.       be   substituted   by      the     all-magic-regular-expression-
  807.       characters-disarmed  equivalent  of $name, $_    by the name of
  808.       the current rcfile, $- by $LASTFOLDER    and  $=     will  contain
  809.       the score of the last    recipe.     When the ----aaaa or    ----mmmm options are
  810.       used,    "$@" will expand to respectively the  specified     argu-
  811.       ment (list); but only    when passed as in the argument list to
  812.       a program.
  813.  
  814.       Procmail does    not support the    expansion of `~'.
  815.  
  816.       A line buffer    of length $LINEBUF is used when    processing the
  817.       _r_c_f_i_l_e,  any    expansions  hhhhaaaavvvveeee  to fit within    this limit; if
  818.       they don't, behaviour    is undefined.
  819.  
  820.       If the global    lockfile has a _r_e_l_a_t_i_v_e    path, and the  current
  821.       directory  is     not  the same as when the global lockfile was
  822.       created, then    the global lockfile will  not  be  removed  if
  823.       procmail exits at that point (remedy:     use _a_b_s_o_l_u_t_e paths to
  824.       specify global lockfiles).
  825.  
  826.       If an    rcfile has a _r_e_l_a_t_i_v_e path  and     when  the  rcfile  is
  827.       first    opened MMMMAAAAIIIILLLLDDDDIIIIRRRR contains    a relative path, and if    at one
  828.       point    procmail is instructed to clone    itself and the current
  829.       directory  has  changed  since  the  rcfile was opened, then
  830.       procmail will    not be able to clone itself  (remedy:  use  an
  831.       _a_b_s_o_l_u_t_e  path  to reference the rcfile or make sure MAILDIR
  832.       contains an absolute path as the rcfile is opened).
  833.  
  834.       A locallockfile on the recipe    that  marks  the  start     of  a
  835.       non-forking nested block does    not work as expected.
  836.  
  837.       When capturing stdout    from  a     recipe     into  an  environment
  838.       variable, exactly one    trailing newline will be stripped.
  839.  
  840.      MMMMIIIISSSSCCCCEEEELLLLLLLLAAAANNNNEEEEOOOOUUUUSSSS
  841.       If the regular expression contains `^^^^TTTTOOOO____' it will be substi-
  842.       tuted    by `((((^^^^((((((((OOOOrrrriiiiggggiiiinnnnaaaallll----))))????((((RRRReeeesssseeeennnntttt----))))????((((TTTToooo||||CCCCcccc||||BBBBcccccccc))))||||((((XXXX----EEEEnnnnvvvveeeellllooooppppeeee
  843.       ||||AAAAppppppppaaaarrrreeeennnnttttllllyyyy((((----RRRReeeesssseeeennnntttt))))????))))----TTTToooo))))::::((((....****[[[[^^^^----aaaa----zzzzAAAA----ZZZZ0000----9999____....]]]]))))????))))', which
  844.       should catch all destination specifications containing a
  845.       specific _a_d_d_r_e_s_s.
  846.  
  847.       If the regular expression contains `^^^^TTTTOOOO' it will be  substi-
  848.       tuted    by `((((^^^^((((((((OOOOrrrriiiiggggiiiinnnnaaaallll----))))????((((RRRReeeesssseeeennnntttt----))))????((((TTTToooo||||CCCCcccc||||BBBBcccccccc))))||||((((XXXX----EEEEnnnnvvvveeeellllooooppppeeee
  849.       ||||AAAAppppppppaaaarrrreeeennnnttttllllyyyy((((----RRRReeeesssseeeennnntttt))))????))))----TTTToooo))))::::((((....****[[[[^^^^aaaa----zzzzAAAA----ZZZZ]]]]))))????))))', which should
  850.       catch    all destination    specifications containing a specific
  851.       _w_o_r_d.
  852.  
  853.  
  854.  
  855.  
  856.      Page 13                         (printed 8/25/98)
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.      PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))       BBBBuuuuGGGGlllleeeessssssss ((((1111999999997777////00004444////11111111))))         PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))
  864.  
  865.  
  866.  
  867.       If the regular expression contains `^^^^FFFFRRRROOOOMMMM____DDDDAAAAEEEEMMMMOOOONNNN' it will be
  868.       substituted by `((((^^^^((((PPPPrrrreeeecccceeeeddddeeeennnncccceeee::::....****((((jjjjuuuunnnnkkkk||||bbbbuuuullllkkkk||||lllliiiisssstttt))))||||TTTToooo::::
  869.       MMMMuuuullllttttiiiipppplllleeee rrrreeeecccciiiippppiiiieeeennnnttttssss ooooffff ||||((((((((((((RRRReeeesssseeeennnntttt----))))????((((FFFFrrrroooommmm||||SSSSeeeennnnddddeeeerrrr))))||||XXXX----
  870.       EEEEnnnnvvvveeeellllooooppppeeee----FFFFrrrroooommmm))))::::||||>>>>????FFFFrrrroooommmm ))))(((([[[[^^^^>>>>]]]]****[[[[^^^^((((....%%%%@@@@aaaa----zzzz0000----
  871.       9999]]]]))))????((((PPPPoooosssstttt((((mmmmaaaa????((((sssstttt((((eeee????rrrr))))????||||nnnn))))||||ooooffffffffiiiicccceeee))))||||((((sssseeeennnndddd))))????MMMMaaaaiiiillll((((eeeerrrr))))????||||ddddaaaaeeeemmmmoooonnnn
  872.       ||||mmmm((((mmmmddddffff||||aaaajjjjoooorrrrddddoooommmmoooo))))||||nnnn????uuuuuuuuccccpppp||||LLLLIIIISSSSTTTT((((SSSSEEEERRRRVVVV||||pppprrrroooocccc))))||||NNNNEEEETTTTSSSSEEEERRRRVVVV||||oooo((((wwwwnnnneeeerrrr||||ppppssss))))
  873.       wwwwhhhhiiiicccchhhh    sssshhhhoooouuuulllldddd ccccaaaattttcccchhhh mmmmaaaaiiiillllssss ccccoooommmmiiiinnnngggg ffffrrrroooommmm mmmmoooosssstttt ddddaaaaeeeemmmmoooonnnnssss ((((hhhhoooowwww''''ssss
  874.       tttthhhhaaaatttt ffffoooorrrr aaaa rrrreeeegggguuuullllaaaarrrr eeeexxxxpppprrrreeeessssssssiiiioooonnnn    ::::----))))....
  875.  
  876.       If the regular expression contains `^^^^FFFFRRRROOOOMMMM____MMMMAAAAIIIILLLLEEEERRRR' it will be
  877.       substituted by `((((^^^^((((((((((((RRRReeeesssseeeennnntttt----))))????((((FFFFrrrroooommmm||||SSSSeeeennnnddddeeeerrrr))))||||XXXX----EEEEnnnnvvvveeeellllooooppppeeee----FFFFrrrroooommmm))))::::
  878.       ||||>>>>????FFFFrrrroooommmm ))))(((([[[[^^^^>>>>]]]]****[[[[^^^^((((....%%%%@@@@aaaa----zzzz0000----9999]]]]))))????((((PPPPoooosssstttt((((mmmmaaaa((((sssstttt((((eeeerrrr))))????||||nnnn))))||||ooooffffffffiiiicccceeee))))
  879.       ||||((((sssseeeennnndddd))))????MMMMaaaaiiiillll((((eeeerrrr))))????||||ddddaaaaeeeemmmmoooonnnn||||mmmmmmmmddddffff||||nnnn????uuuuuuuuccccpppp||||ooooppppssss||||rrrr((((eeeessssppppoooonnnnsssseeee||||ooooooootttt))))
  880.       ||||((((bbbbbbbbssss\\\\....))))????ssssmmmmttttpppp((((eeeerrrrrrrroooorrrr))))????||||ssss((((eeeerrrrvvvv((((iiiicccceeeessss????||||eeeerrrr))))||||yyyysssstttteeeemmmm))))
  881.       ||||AAAA((((ddddmmmmiiiinnnn((((iiiissssttttrrrraaaattttoooorrrr))))????||||MMMMMMMMGGGGRRRR))))))))(((((((([[[[^^^^))))....!!!!::::aaaa----zzzz0000----9999]]]][[[[----____aaaa----zzzz0000----9999]]]]****))))????[[[[%%%%@@@@>>>>\\\\tttt
  882.       ]]]][[[[^^^^<<<< ))))]]]]****((((\\\\((((....****\\\\))))....****))))????))))????$$$$(((([[[[^^^^>>>>]]]]||||$$$$))))))))' (a stripped down version of
  883.       `^^^^FFFFRRRROOOOMMMM____DDDDAAAAEEEEMMMMOOOONNNN'), which should    catch mails coming from    most
  884.       mailer-daemons.
  885.  
  886.       When assigning boolean values     to  variables    like  VERBOSE,
  887.       DELIVERED  or     COMSAT, procmail accepts as true every    string
  888.       starting with: a non-zero value,  `on',  `y',     `t'  or  `e'.
  889.       False     is  every  string starting with: a zero value,    `off',
  890.       `n', `f' or `d'.
  891.  
  892.       If the action    line of    a recipe specifies a program,  a  sole
  893.       backslash-newline pair in it on an otherwise empty line will
  894.       be converted into a newline.
  895.  
  896.       The regular expression engine    built into procmail  does  not
  897.       support named    character classes.
  898.  
  899.      NNNNOOOOTTTTEEEESSSS
  900.       Since    unquoted leading whitespace is    generally  ignored  in
  901.       the rcfile you can indent everything to taste.
  902.  
  903.       The leading `|' on the action    line to    specify    a  program  or
  904.       filter is stripped before checking for $SHELLMETAS.
  905.  
  906.       Files    included with the INCLUDERC directive containing  only
  907.       environment variable assignments can be shared with sh.
  908.  
  909.       For _r_e_a_l_l_y complicated processing you    can even consider cal-
  910.       ling pppprrrrooooccccmmmmaaaaiiiillll    recursively.
  911.  
  912.       In the old days, the `:0' that marks the beginning of    a  re-
  913.       cipe,     had  to  be  changed to `:n', whereby `n' denotes the
  914.       number of conditions that follow.
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.      Page 14                         (printed 8/25/98)
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.      PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))       BBBBuuuuGGGGlllleeeessssssss ((((1111999999997777////00004444////11111111))))         PPPPRRRROOOOCCCCMMMMAAAAIIIILLLLRRRRCCCC((((5555))))
  930.  
  931.  
  932.  
  933.      AAAAUUUUTTTTHHHHOOOORRRR
  934.       Stephen R. van den Berg
  935.            <srb@cuci.nl>
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.      Page 15                         (printed 8/25/98)
  989.  
  990.  
  991.  
  992.